home *** CD-ROM | disk | FTP | other *** search
/ Amiga CD-Sensation: Golden Games / Amiga CD-Sensation - Ausgabe 2 - Golden Games (1996)(GTI - Schatztruhe)(DE)[!].iso / Brain Activity / 10000 / src / 10000IBM.H < prev    next >
C/C++ Source or Header  |  1995-12-06  |  6KB  |  181 lines

  1. /* The routines listed below are designed for use on an MS-DOS IBM with
  2.    ANSI.SYS installed or an Amiga BBS programme which allows AmigaDOS doors.
  3.  
  4.    This header file is (C)1995 D.R. Commander and Titane-Mammoth Productions */
  5. /*
  6. #include <conio.h>
  7. */
  8. /*** FETCH A KEYPRESS ***/
  9. int 
  10. getinput (void)
  11. {
  12.   char ans;
  13.   ans = getch ();
  14.   return ((int) toupper (ans) - 48);
  15. }
  16.  
  17. /*** CLEAR SCREEN ***/
  18. void 
  19. cls (void)
  20. {
  21.   printf ("\033[2J\033[1;1f");
  22. }
  23.  
  24. /*** CLEAR ONE LINE OF THE DISPLAY ***/
  25. void 
  26. clear (int line)
  27. {
  28.   printf ("\033[0m\033[%dH\033[K", line);
  29. }
  30.  
  31. /*** PROMPTS THE USER FOR INPUT ON ROW n (DISPLAYS INPUT BOX) ***/
  32. void 
  33. prompt (int line, char prompt[], char response[], int length)
  34. {
  35.   int i = 0;
  36.   char ans = '\0';
  37.   printf ("\033[%1d;%1dH%s\033[0;37m Ý\033[%1dCÞ\033[%1dD\033[1m",
  38.       line, 40 - (int) (strlen (prompt) + length + 2) / 2, prompt, length, length + 1);
  39.   do
  40.     {
  41.       ans = getch ();
  42.       if (ans == '\b')
  43.     {
  44.       if (i != 0)
  45.         {
  46.           i--;
  47.           response[i] = '\0';
  48.           printf ("\b \b");
  49.         }
  50.     }
  51.       else if ((i <= (length - 1)) && (isprint (ans) != 0))
  52.     {
  53.       printf ("%c", ans);
  54.       response[i] = ans;
  55.       i++;
  56.     }
  57.     }
  58.   while ((ans != (char) 13) && (ans != '\n'));
  59.   response[i] = '\0';
  60.   clear (line);
  61. }
  62.  
  63. /*** CHANGE THE CURRENT TEXT COLOUR ***/
  64. void 
  65. colour (int fg, int bg)
  66. {
  67.   if (fg % 16 < 8)
  68.     printf ("\033[0;3%1d;4%1dm", fg % 16, bg % 8);
  69.   else
  70.     printf ("\033[1;3%1d;4%1dm", fg % 8, bg % 8);
  71. }
  72.  
  73. /*** DISPLAY A LINE OF TEXT AT A SET CURSOR POSITION ***/
  74. void 
  75. display (int vpos, int hpos, char input[])
  76. {
  77.   printf ("\033[%1d;%1dH%s", vpos, hpos, input);
  78. }
  79.  
  80. /*** DISPLAY AN INTEGER AT A SET CURSOR POSITION ***/
  81. void 
  82. displayint (int vpos, int hpos, int input)
  83. {
  84.   printf ("\033[%1d;%1dH%1d", vpos, hpos, input);
  85. }
  86.  
  87. /*** CENTRE A STRING ON A SPECIFIED LINE (NOT SYSTEM-SPECIFIC) ***/
  88. void 
  89. centre (int vpos, char input[])
  90. {
  91.   display (vpos, (int) (40 - strlen (input) / 2), input);
  92. }
  93.  
  94. /*** PAUSE FOR A KEY PRESS ***/
  95. void 
  96. pause (void)
  97. {
  98.   centre (25, "°±² BANG ANY KEY TO CONTINUE ²±°");
  99.   getch ();
  100.   clear (25);
  101. }
  102.  
  103. /*** CLEAR LINES m THROUGH n ***/
  104. void 
  105. clearlines (int m, int n)
  106. {
  107.   int x;
  108.   for (x = m; x <= n; x++)
  109.     clear (x);
  110. }
  111.  
  112. /*** ASK A YES/NO QUESTION AND RETURN TRUE OR FALSE BASED ON THE ANSWER ***/
  113. int 
  114. ask (int line, char question[])
  115. {
  116.   char ans;
  117.   printf ("\033[%1d;%1dH%s (y/N)?", line, (int) (40 - (strlen (question) + 8) / 2), question);
  118.   ans = getch ();
  119.   ans = toupper (ans);
  120.   switch (ans)
  121.     {
  122.     case 'Y':
  123.       {
  124.     printf ("\033[0;1;37m Maybe so");
  125.     return (1);
  126.       }
  127.     default:
  128.       {
  129.     printf ("\033[0;1;37m Guess not");
  130.     return (0);
  131.       }
  132.     }
  133. }
  134.  
  135. /*** DRAW THE BOFFO INTRO PIC ***/
  136. void 
  137. drawpic (void)
  138. {
  139.   cls ();
  140.   puts ("\033[2H \033[1;37mÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ");
  141.   puts (" \033[0;30;47m10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 \033[0m");
  142.   puts (" \033[37mÛ\033[31mÖÄÄÄÒÄÄÄ·\033[15C\033[1;32mÖÄÄÄÒÄÄÄ·\033[43C\033[47m \033[0m");
  143.   puts (" \033[30;47m1\033[31;40mº   º   º\033[15C\033[1;32mº   º   º \033[0;32mÖÄ   \033[37mThe semi-classic game of chance   \033[1;32mÄ· \033[0;30;47m1\033[0m");
  144.   puts (" \033[30;47m0\033[31;40m    º\033[5C\033[33mÖÄÄÄ· \033[1mÖÄÄÄ·\033[7C\033[32mº\033[5C\033[0;32mÇÄÄÄ· \033[36mÖÄÄÄ· \033[35mÖÄ  ÖÄ\033[31mÖÄÄÄ· \033[33mÖÄÄÄ· \033[1mÖÄÄÄ· \033[32mÖÄÄĶ \033[0;30;47m0\033[0m");
  145.   puts (" \033[30;47m0\033[1;34;40m°±²±\033[0;31mº\033[1;34m±²±°±\033[0;33mº\033[1;34m±°±\033[0;33mº\033[1;34m±\033[33mº\033[34m±²±\033[33mº\033[34m±²±°±²±\033[32mº\033[34m±²±°±\033[0;32mº\033[1;34m±°±\033[0;32mº\033[1;34m±\033[0;36mº\033[1;34m±²±\033[0;36mº\033[1;34m±\033[0;35mº\033[1;34m±°±\033[0;35mº\033[1;34m±\033[0;31mº\033[1;34m±²±°±²±°±\033[0;33mº\033[1;34m±\033[33mº\033[34m±²±\033[33mº\033[34m±\033[32mº\033[34m±°±\033[32mº\033[34m±\033[0;30;47m0\033[0m");
  146.   puts (" \033[30;47m0\033[1;34;40m°±²±\033[0;31mº\033[1;34m±²±°±\033[0;33mÇÄÄĽ\033[1;34m±\033[33mº\033[34m±²±\033[33mº\033[34m±²±°±²±\033[32mº\033[34m±²±°±\033[0;32mº\033[1;34m±°±\033[0;32mº\033[1;34m±\033[0;36mº\033[1;34m±²±\033[0;36mº\033[1;34m±\033[0;35mº\033[1;34m±°±\033[0;35mº\033[1;34m±\033[0;31mÓÄÄÄ·\033[1;34m±\033[0;33mÖÄÄĶ\033[1;34m±\033[33mº\033[34m±²±\033[33mº\033[34m±\033[32mº\033[34m±°±\033[32mº\033[34m±\033[0;30;47m0\033[0m");
  147.   puts (" \033[30;47m0\033[1;34;40m°±²±\033[0;31mº\033[1;34m±²±°±\033[0;33mº\033[1;34m±°±²±\033[33mº\033[34m±²±\033[33mº\033[34m±²±°±²±\033[32mº\033[34m±²±°±\033[0;32mº\033[1;34m±°±\033[0;32mº\033[1;34m±\033[0;36mº\033[1;34m±²±\033[0;36mº\033[1;34m±\033[0;35mº\033[1;34m±°±\033[0;35mº\033[1;34m±°±²±\033[0;31mº\033[1;34m±\033[0;33mº\033[1;34m±°±\033[0;33mº\033[1;34m±\033[33mº\033[34m±²±\033[33mº\033[34m±\033[32mº\033[34m±°±\033[32mº\033[34m±\033[0;30;47m0\033[0m");
  148.   puts (" \033[37mÛ   \033[31mÄÐÄ    \033[33mÓÄÄÄÄÄ\033[1mÓÄ  ÓÄ\033[5C\033[32mÄÐÄ    \033[0;32mÓÄ  ÓÄ\033[36mÓÄÄÄÐÄ\033[35mÓÄÄÄÐÄ\033[31mÓÄÄÄÐÄ\033[33mÓÄÄÄÐÄ\033[1mÓÄ  ÓÄ\033[32mÓÄÄÄÐÄ\033[47m \033[0m");
  149.   puts (" \033[1;32;47m \033[0;30;47m10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000\033[0m");
  150.   puts (" \033[1;30mßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß");
  151.   puts ("\033[15C\033[0;35mÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ");
  152.   puts ("\033[23C\033[36mOriginal programme by B.N. Randall");
  153.   puts ("\033[20CCopyright (C)1986 Champion Wolf Software");
  154.   puts ("\033[15C\033[32mÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ");
  155.   puts ("\033[15C\033[1mAmiga and MS-DOS ANSI C versions by D.R. Commander");
  156.   puts ("\033[23C\033[0;37m(E-Mail: \033[1mdrc76795@tree.egr.uh.edu\033[0;37m)");
  157.   puts ("\033[23C\033[1;33m(C)1995 Titane-Mammoth Productions");
  158.   puts ("\033[21C\033[0;33mGWIN system (C)1991 Howard C. Anderson");
  159.   puts ("\033[15C\033[31mÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\033[0m");
  160. }
  161.  
  162. void
  163. setupamigascreen (void)
  164. {}
  165.  
  166. void
  167. UEND (void)
  168. {}
  169.  
  170. int
  171. checkinput (void)
  172. {return(0);}
  173.  
  174. #define G 0
  175. #define MIDRAWN 0
  176. #define MENUENABLED 0
  177. #define ITEMTEXT 0
  178. #define HIGHBOX 0
  179. #define ITEMENABLED 0
  180. #define COMMSEQ 0
  181.